package com.lagou.stage02;

import java.awt.*;
import java.util.Scanner;

public class Sum2DArrayTest {
    public static void main(String[] args) {
        Sum2DArray arr = new Sum2DArray();

        // 1. 初始化二维数组：随机生成，或者手动输入
        System.out.println("请选择是随机生成[16][16]的二维数组，还是手动输入[16][16]的二维数组，0代表随机，1代表手动输入");

        Scanner sc = new Scanner(System.in);
        int action = sc.nextInt();
        if (0 == action) {
            // 随机生成二维数组
            arr.randomGenerate();
        } else {
            // 手动输入二维数组，直到输入的个数符合[16][16]二维数组符合的元素个数
            System.out.println("请输入[16][16]的二维数组");
            // Scanner sc1 = new Scanner(System.in);
            int[][] arr_in = new int[5][5];
            int i;
            int j;
            for (i = 0; i < 5; i++) {
                for (j = 0; j < 5; j++) {
                    arr_in[i][j] = sc.nextInt();
                }
            }
            arr.setA(arr_in);
        }

        // 2. 打印二维数组
        System.out.println("---------------------");
        System.out.println("[16][16]二维数组如下：");
        arr.show();

        // 3. 计算并打印二维数组各行的和
        System.out.println("---------------------");
        System.out.println("各行所有元素的和如下：");
        arr.getLineSum();

        // 4. 计算并打印二维数组各列的和
        System.out.println("---------------------");
        System.out.println("各列所有元素的和如下：");
        arr.getColumnSum();

        // 5. 计算并打印二维数组左上角到右下角的和
        System.out.println("---------------------");
        System.out.println("左上角到右下角所有元素的和如下：");
        arr.getLeftToRightSum();

        // 6. 计算并打印二维数组右上角到左下角的和
        System.out.println("---------------------");
        System.out.println("右上角到左下角所有元素的和如下：");
        arr.getRightToLeftSum();

    }
}
